package com.dys.testio08;

import java.io.*;

/**
 * @className: src.main.java.com.dys.testio08.DataInputStreamTest
 * @description: src.main.java.com.dys.testio08
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/16 下午11:23
 */
public class DataInputStreamTest {

    /**
     * 这是一个main()方法,是应用程序的入口
     *
     * @param args 方法的形参列表,是一个字符串数组,包含了从命令行传递给程序的参数
     */
    public static void main(String[] args) throws IOException {
        new DataInputStreamTest().testReadDataStream();
    }

    /**
     * 数据流：写入到磁盘，处理基本数据类型和String的
     * 利用DataOutputStream向外写出变量：
     *
     * @throws IOException
     */
    public void testOutPutStream() throws IOException {
        // 有一个目标文件
        // File f = new File("e:\\Demo3.txt");
        // FileOutputStream fos = new FileOutputStream(f);
        // DataOutputStream dos = new DataOutputStream(fos);
        DataOutputStream dos = new DataOutputStream(new FileOutputStream(new File("e:\\Demo3.txt")));
        dos.writeUTF("你好");
        dos.writeBoolean(true);
        dos.writeFloat(9.9f);
        dos.close();
    }

    /**
     * 读取文件
     *
     * @throws IOException
     */
    public void testReadDataStream() throws IOException {
        DataInputStream dis = new DataInputStream(new FileInputStream(new File("e:\\Demo3.txt")));
        System.out.println(dis.readUTF());
        System.out.println(dis.readBoolean());
        System.out.println(dis.readFloat());
        dis.close();
    }
}
